系统设计准备

http://blog.csdn.net/longyulu/article/details/9159589

Here are some articles about system design related topics.

  • How to Rock a Systems Design Interview
  • System Interview
  • Scalability for Dummies
  • Scalable Web Architecture and Distributed Systems
  • Numbers Everyone Should Know
  • Scalable System Design Patterns
  • Introduction to Architecting Systems for Scale
  • Transactions Across Datacenters
  • A Plain English Introduction to CAP Theorem
  • The CAP FAQ
  • Paxos Made Simple
  • Consistent Hashing
  • NOSQL Patterns
  • Scalability, Availability & Stability Patterns

There are some good references for each question. The references here are slides and articles.

  • Design a CDN network
    Reference:
    Globally Distributed Content Delivery.

  • Design a Google document system
    Reference:
    google-mobwrite
    Differential Synchronization.

  • Design a random ID generation system
    Reference:
    Announcing Snowflake
    snowflake.

  • Design a key-value database
    Reference:
    Introduction to Redis.

  • Design the Facebook news seed function
    Reference:
    What are best practices for building something like a News Feed?
    [http://www.weiming.info/zhuti/JobHunting/32463885/][11]
    What are the scaling issues to keep in mind while developing a social network feed?
    Activity Feeds Architecture
    http://www.weiming.info/zhuti/JobHunting/32463885/

  • Design the Facebook timeline function
    Reference:
    Building Timeline
    Facebook Timeline.

  • Design a function to return the top k requests during past time interval
    Reference:
    Efficient Computation of Frequent and Top-k Elements in Data Streams
    An Optimal Strategy for Monitoring Top-k Queries in Streaming Windows

  • Design an online multiplayer card game
    Reference:
    How to Create an Asynchronous Multiplayer Game
    How to Create an Asynchronous Multiplayer Game Part 2: Saving the Game State to Online Database
    How to Create an Asynchronous Multiplayer Game Part 3: Loading Games from the Database
    How to Create an Asynchronous Multiplayer Game Part 4: Matchmaking
    Real Time Multiplayer in HTML5

  • Design a graph search function
    Reference:
    Building out the infrastructure for Graph Search
    Indexing and ranking in Graph Search
    The natural language interface of Graph Search and Erlang at Facebook.

  • Design a picture sharing system
    Reference:
    Flickr Architecture
    Instagram Architecture.

  • Design a search engine
    Reference:
    How would you implement Google Search?
    Implementing Search Engines

  • Design a recommendation system
    Reference:
    Hulu’s Recommendation System
    Recommender Systems

  • Design a tiny url system
    Reference:
    System Design for Big Data-tinyurl
    URL Shortener API.

  • Design a garbage collection system
    Reference:
    Baby’s First Garbage Collector.

  • Design a scalable web crawling system
    Reference:
    Design and Implementation of a High-Performance Distributed Web Crawler

  • Design the Facebook chat function
    Reference:
    Erlang at Facebook
    Facebook Chat
    http://www.cnblogs.com/piaoger/archive/2012/08/19/2646530.html

  • Design a trending topic system
    Reference:
    Implementing Real-Time Trending Topics With a Distributed Rolling Count Algorithm in Storm
    Early detection of Twitter trends explained

  • Design a cache system
    Reference:
    Introduction to Memcached
    https://www.adayinthelifeof.nl/2011/02/06/memcache-internals/
    http://www.careercup.com/question?id=16835665

  • Design a typeahead search/search suggestion
    Reference:
    https://www.facebook.com/notes/facebook-engineering/the-life-of-a-typeahead-query/389105248919

  • Design a system to return POI within 5 miles
    Reference:
    http://blog.sina.com.cn/s/blog_ae33b83901017921.html
    http://www.cnblogs.com/LBSer/p/3310455.html

  • Copy one file to multiple servers
    Reference:
    https://vimeo.com/11280885
    https://blog.twitter.com/2010/murder-fast-datacenter-code-deploys-using-bittorrent

Comments